package com.drug.wms.domain;

import com.drug.common.annotation.Dict;
import com.drug.common.annotation.Excel;
import com.drug.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 商品入库清单对象 bus_goods_stock_info-
 *
 * @author ruoyi
 * @date 2021-12-01
 */
public class BusGoodsStockInfoRight extends BaseEntity {
    private static final long serialVersionUID = 1L;
    private int right=0;


    /**
     * 主键id
     */
    private String id;

    /**
     * 单据编号
     */
    @Excel(name = "单据编号")
    private String docNo;
    /**
     * 单据名称
     */
    @Excel(name = "单据名称")
    private String docName;

    /**
     * 录入日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "录入日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryDate;

    /**
     * 制单人id
     */
    @Excel(name = "制单人id")
    private Long entryUserId;

    /**
     * 制单人部门id
     */
    @Excel(name = "制单人部门id")
    private Long entryDeptId;

    /**
     * 供货单位
     */
    @Excel(name = "供货单位")
    @Dict(dictTable = "bus_contacts_unit",dicText = "unit_name",dicCode = "id")
    private String supplyCompany;

    /**
     * 收货仓库
     */
    @Excel(name = "收货仓库")
    @Dict(dictTable = "bus_warehose_info",dicCode = "id",dicText = "warehouse_name")
    private String receivingWarehouse;

    /**
     * 经办人
     */
    @Excel(name = "经办人")
    @Dict(dictTable = "sys_user",dicCode = "user_id",dicText = "nick_name")
    private Long handleUserId;

    /**
     * 审核人
     */
    @Excel(name = "审核人")
    private Long checkedUserId;

    /**
     * 摘要
     */
    @Excel(name = "摘要")
    private String summary;

    /**
     * 进项发票号
     */
    @Excel(name = "进项发票号")
    private String inputInvoiceNo;

    /**
     * 付款金额
     */
    @Excel(name = "付款金额")
    private BigDecimal paymentAmount;

    /**
     * 是否付款
     */
    @Excel(name = "是否付款")
    private Long isPay;

    /**
     * 单据状态
     */
    @Excel(name = "单据状态")
    private Long inputStatus;

    /**
     * 数据状态
     */
    @Excel(name = "数据状态")
    private String validityCode;
    /**
     * 图片信息
     */
    private List<BusFile> files;

    public int getRight() {
        return right;
    }

    public void setRight(int right) {
        this.right = right;
    }

    public String getDocName() {
        return docName;
    }

    public void setDocName(String docName) {
        this.docName = docName;
    }

    public List<BusFile> getFiles() {
        return files;
    }

    public void setFiles(List<BusFile> files) {
        this.files = files;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setDocNo(String docNo) {
        this.docNo = docNo;
    }

    public String getDocNo() {
        return docNo;
    }

    public void setEntryDate(Date entryDate) {
        this.entryDate = entryDate;
    }

    public Date getEntryDate() {
        return entryDate;
    }

    public void setEntryUserId(Long entryUserId) {
        this.entryUserId = entryUserId;
    }

    public Long getEntryUserId() {
        return entryUserId;
    }

    public void setEntryDeptId(Long entryDeptId) {
        this.entryDeptId = entryDeptId;
    }

    public Long getEntryDeptId() {
        return entryDeptId;
    }

    public void setSupplyCompany(String supplyCompany) {
        this.supplyCompany = supplyCompany;
    }

    public String getSupplyCompany() {
        return supplyCompany;
    }

    public void setReceivingWarehouse(String receivingWarehouse) {
        this.receivingWarehouse = receivingWarehouse;
    }

    public String getReceivingWarehouse() {
        return receivingWarehouse;
    }

    public void setHandleUserId(Long handleUserId) {
        this.handleUserId = handleUserId;
    }

    public Long getHandleUserId() {
        return handleUserId;
    }

    public void setCheckedUserId(Long checkedUserId) {
        this.checkedUserId = checkedUserId;
    }

    public Long getCheckedUserId() {
        return checkedUserId;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getSummary() {
        return summary;
    }

    public void setInputInvoiceNo(String inputInvoiceNo) {
        this.inputInvoiceNo = inputInvoiceNo;
    }

    public String getInputInvoiceNo() {
        return inputInvoiceNo;
    }

    public void setPaymentAmount(BigDecimal paymentAmount) {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getPaymentAmount() {
        return paymentAmount;
    }

    public void setIsPay(Long isPay) {
        this.isPay = isPay;
    }

    public Long getIsPay() {
        return isPay;
    }

    public void setInputStatus(Long inputStatus) {
        this.inputStatus = inputStatus;
    }

    public Long getInputStatus() {
        return inputStatus;
    }

    public void setValidityCode(String validityCode) {
        this.validityCode = validityCode;
    }

    public String getValidityCode() {
        return validityCode;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("docNo", getDocNo())
                .append("entryDate", getEntryDate())
                .append("entryUserId", getEntryUserId())
                .append("entryDeptId", getEntryDeptId())
                .append("supplyCompany", getSupplyCompany())
                .append("receivingWarehouse", getReceivingWarehouse())
                .append("handleUserId", getHandleUserId())
                .append("checkedUserId", getCheckedUserId())
                .append("summary", getSummary())
                .append("remark", getRemark())
                .append("inputInvoiceNo", getInputInvoiceNo())
                .append("paymentAmount", getPaymentAmount())
                .append("isPay", getIsPay())
                .append("inputStatus", getInputStatus())
                .append("validityCode", getValidityCode())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
